{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Robust profiles of credit spreads\n",
    "\n",
    "\n",
    "*Credit spreads* have become an important factor in setting U.S.\n",
    "monetary policy according to the Fed Chairman who spoke at the\n",
    "Federal Reserve Bank of Dallas on November 14, 2018\n",
    "(see video at https://youtu.be/vftR_APuIBM).\n",
    "They have become part of the toolbox which will influence\n",
    "the future path of interest rates.\n",
    "\n",
    "A **credit spread** is the difference in yields between two\n",
    "types of debt instruments which differ by default risk\n",
    "(that is, the failure of the debtor to pay interest and/or\n",
    "any principal due). A good example is the difference in\n",
    "yields between corporate bonds and Treasury bonds.\n",
    "An investor expects to get additional compensation\n",
    "for taking on default risk."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***How can default risk be calibrated and observed in credit markets?***\n",
    "In this notebook, we examine two types of credit spreads:\n",
    "mortgage and corporate. We derive a robust statistical technique to\n",
    "profile such spreads which facilitates comparison and aggregation.\n",
    "The unified profile gives a clear picture of composite\n",
    "credit risk in the financial system, thus providing daily insight\n",
    "into the health of the overall economy.\n",
    "\n",
    "The unified profile could be useful for formulating policy\n",
    "guidelines (e.g. postpone rate hikes if readings exceed +0.5\\*MAD)\n",
    "since the emphasis is not on basis point units in any particular\n",
    "bond market, but rather a neutral baseline and a robust dispersion\n",
    "measure called **MAD**, *Median Absolute Deviation*.\n",
    "\n",
    "The utility of MAD is demonstrated in non-Gaussian situations\n",
    "like the catastrophic Great Recession. Comparative insight\n",
    "is gained by observing dimensionless risk proportionalities\n",
    "across markets (rather than magnitudes expressed in terms of\n",
    "basis points). We conclude by a convincing\n",
    "visualization of ***unified credit profile*** in the U.S. economy,\n",
    "and hints for policy rules.\n",
    "\n",
    "---\n",
    "\n",
    "Appendix 1 summarizes this notebook as a Python function called\n",
    "`creditprof()`. URL shortcut to this notebook: https://git.io/creditprof\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*Dependencies:*\n",
    "\n",
    "- fecon236 >= 10.8.0, source code, https://github.com/MathSci/fecon236\n",
    "- Data herein downloadable from FRED database for U.S. Federal Reserve Bank.\n",
    "     \n",
    "*CHANGE LOG*\n",
    "\n",
    "    2018-12-02  First draft version."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import fecon236 as fe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " !:  Code for this project straddles python27 and python3.\n",
      " ::  Python 2.7.15\n",
      " ::  IPython 5.7.0\n",
      " ::  jupyter_core 4.4.0\n",
      " ::  notebook 5.4.0\n",
      " ::  matplotlib 1.5.1\n",
      " ::  numpy 1.11.3\n",
      " ::  scipy 1.0.0\n",
      " ::  statsmodels 0.8.0\n",
      " ::  sympy 1.1.1\n",
      " ::  pandas 0.22.0\n",
      " ::  pandas_datareader 0.6.0\n",
      " ::  fecon236 10.8.0\n",
      " ::  Repository: fecon235 v6.18.0623 develop\n",
      " ::  Timestamp: 2018-12-03T02:03:22Z\n"
     ]
    }
   ],
   "source": [
    "#  PREAMBLE-p10.18.0714 :: Settings, https://git.io/236pa\n",
    "from __future__ import absolute_import, print_function, division\n",
    "fe.system.specs()\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "#       Use 0 to disable autoreload when a module is modified.\n",
    "#  NOTEBOOK DISPLAY OPTIONS...\n",
    "fe.pd.set_option('display.notebook_repr_html', False)\n",
    "#       Represent pandas DataFrames as text; not HTML representation.\n",
    "from IPython.display import HTML  # Useful for snippets from web.\n",
    "#  e.g. HTML('<iframe src=https://en.wikipedia.org/?useformat=mobile \\\n",
    "#            width=700 height=350></iframe>')\n",
    "from IPython.display import Image\n",
    "#  e.g. Image(filename='holt-winters-equations.png', embed=True)\n",
    "#                  url= Also works instead of filename.\n",
    "from IPython.display import YouTubeVideo\n",
    "#  e.g. YouTubeVideo('1j_HxD4iLn8', start='43', width=600, height=400)\n",
    "from IPython.core import page\n",
    "get_ipython().set_hook('show_in_pager', page.as_hook(page.display_page), 0)\n",
    "#  Or equivalently in config file: \"InteractiveShell.display_page = True\",\n",
    "#  which will display results in secondary notebook pager frame in a cell.\n",
    "%matplotlib inline\n",
    "#  Generate PLOTS inside notebook, \"inline\" generates static png,\n",
    "#  whereas \"notebook\" argument allows interactive zoom and resize."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Mortgage credit spread\n",
    "\n",
    "This credit spread in its *classic* form took the difference in\n",
    "rates between 30-year fixed rate mortgages and 30-year Treasury bonds.\n",
    "However, the maturity of a \"long bond\" is\n",
    "currently taken to be 10 years in global finance.\n",
    "Hence, we shall examine the spread between the\n",
    "\"**Freddie Mac 15-Year Fixed Rate Mortgage Average**\"\n",
    "and U.S. Treasury 10-year bonds."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  Freddie Mac series is updated weekly on Thursdays,\n",
    "#  so we shall apply daily interpolation to be\n",
    "#  frequency compatible with the Treasury series:\n",
    "fmac = fe.daily(fe.get('MORTGAGE15US'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  Retrieve daily rates for 10-year Treasuries...\n",
    "ty = fe.get(fe.d4bond10)\n",
    "\n",
    "#  ... then compute the MORTGAGE CREDIT SPREAD:\n",
    "mort = fe.todf(fmac - ty)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  We note mort extends back to 1991-08-30:\n",
    "start = '1991-08-30'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  The underlying data has DAILY frequency,\n",
    "#  but for visualization purposes we shall\n",
    "#  PLOT on MONTHLY frequency which produces\n",
    "#  clear lines over several decades \n",
    "#  (otherwise, the lines will smear over finer intervals.)\n",
    "\n",
    "def plotmonth(dfy, start=start):\n",
    "    fe.plot(fe.monthly(dfy[start:]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xac34a92c>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  The y-scale is in (basis points)/100\n",
    "plotmonth(mort)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Profiling: rescaling a spread with robust baseline\n",
    "\n",
    "Credit spreads are generally expressed in basis points.\n",
    "However, the impact of 100 basis points on a mortgage spread\n",
    "is quite different than on a corporate bond spread.\n",
    "For example, mortgages are generally collaterized (by the\n",
    "property and the building), whereas many corporate bonds are\n",
    "not secured (esp. those of speculative ratings).\n",
    "\n",
    "We first propose to shift the median to zero,\n",
    "then to rescale the spread using a unitless\n",
    "measure called MAD, Median Absolute Deviation.\n",
    "\n",
    "A zero median allows us readily identify a\n",
    "neutral baseline, distinguishing abundant\n",
    "from sparse credit flows in the economy.\n",
    "The constructed baseline is robust in the\n",
    "sense that large deviations are not given\n",
    "undue weight (in contrast to the statistical mean).\n",
    "\n",
    "The MAD dispersion measure is also L1 robust,\n",
    "unlike L2 variance and its square root which is\n",
    "known as the standard deviation.\n",
    "Details are provided in the article embedded\n",
    "in the next cell, as well, in the code comments\n",
    "which follows.\n",
    "\n",
    "We shall call a *robustly rescaled* credit spread, a \"**credit profile**.\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<iframe src=https://en.wikipedia.org/wiki/Median_absolute_deviation?useformat=mobile     width=700 height=350></iframe>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "HTML('<iframe src=https://en.wikipedia.org/wiki/Median_absolute_deviation?useformat=mobile \\\n",
    "    width=700 height=350></iframe>')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[0;31mSignature:\u001b[0m \u001b[0mfe\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mSource:\u001b[0m   \n",
       "\u001b[0;32mdef\u001b[0m \u001b[0mmad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;34m'''Median Absolute Deviation is a robust measure of dispersion:\u001b[0m\n",
       "\u001b[0;34m    MAD = 0.67449*sigma if distribution is Gaussian, i.e.\u001b[0m\n",
       "\u001b[0;34m    3*MAD is about 2*sigma; however, MAD is resilient to outliers,\u001b[0m\n",
       "\u001b[0;34m    thus very useful in non-Gaussian situations.\u001b[0m\n",
       "\u001b[0;34m    See https://en.wikipedia.org/wiki/Median_absolute_deviation\u001b[0m\n",
       "\u001b[0;34m    '''\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mdev\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdfy\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mmedian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# Deviations from median.\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  MAD is defined as the median (not the mean)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  of absolute deviations from the data's median:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;32mreturn\u001b[0m \u001b[0mmedian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdev\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mFile:\u001b[0m      /media/yaya/virt18g/virt/dbx/Dropbox/ipy/fecon236/fecon236/tool.py\n",
       "\u001b[0;31mType:\u001b[0m      function\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fe.mad??"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[0;31mSignature:\u001b[0m \u001b[0mfe\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmadmen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mSource:\u001b[0m   \n",
       "\u001b[0;32mdef\u001b[0m \u001b[0mmadmen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;34m'''Rescale data as unitless MAD multiples, after shifting median to zero.\u001b[0m\n",
       "\u001b[0;34m    The main character in the \"Mad Men\" series pretending to be Donald Draper\u001b[0m\n",
       "\u001b[0;34m    is akin to our data pretending to be Gaussian, which we robustly unmask.\u001b[0m\n",
       "\u001b[0;34m    [Cf. alternative normalize() where large deviations are squared.]\u001b[0m\n",
       "\u001b[0;34m    '''\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mdev\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdfy\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mmedian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# Deviations from median.\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;32mreturn\u001b[0m \u001b[0mdev\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0mmad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdfy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mFile:\u001b[0m      /media/yaya/virt18g/virt/dbx/Dropbox/ipy/fecon236/fecon236/tool.py\n",
       "\u001b[0;31mType:\u001b[0m      function\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  This function performs the profiling:\n",
    "fe.madmen??"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  Profile the mortgage credit spread:\n",
    "mortmad = fe.madmen(mort)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xac39efac>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  Here the y-scale uses MAD:\n",
    "plotmonth(mortmad)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Profiling does not change the shape of the plot,\n",
    "but readily highlights the internal proportionalities.\n",
    "\n",
    "The huge credit distortion in the housing market\n",
    "during the Great Recession is quite evident visually.\n",
    "But that distortion does not in turn distort\n",
    "our robust statistical measures.\n",
    "\n",
    "For reference, +9\\*MAD would register as a\n",
    "*six-sigma* event if we had made traditional\n",
    "Gaussian assumptions.\n",
    "\n",
    "It is important to also note that credit spreads\n",
    "are *asymmetric* in that the lower end is bounded.\n",
    "This is because a risky bond will never yield\n",
    "less than a Treasury bond of comparable tenor."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Corporate credit spread\n",
    "\n",
    "Here we examine the BAA10Y spread between **Moody's Seasoned Baa-rated\n",
    "Corporate Bonds** (https://fred.stlouisfed.org/series/DBAA) and 10-year\n",
    "Treasury Constant Maturity (https://fred.stlouisfed.org/series/DGS10).\n",
    "Such corporate bonds are regarded as low investment grade, not junk."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  FRED publishes this CORPORATE CREDIT SPREAD daily:\n",
    "baa = fe.get('BAA10Y')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa7efbd6c>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  The y-scale is in (basis points)/100\n",
    "plotmonth(baa)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "From the chart above, it would be difficult to\n",
    "visually estimate the median or the mean of the series,\n",
    "that is to say, the \"typical\" middle baseline.\n",
    "But that is remedied when spreads are profiled --\n",
    "simply look for the zero median."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  See section on Profiling:\n",
    "baamad = fe.madmen(baa[start:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW8AAAEaCAYAAADe09ZmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJztnXmYFNXV/z+HVZBVRGRTBBnABVARcYMWVCIqaNS4xqDmjRqNUfOavGp+GvckxmjUaGLcotEY4xI17gtDNKLIJrIIKJssoiDMDIgsM/f3x+lyenp636qq53yep5+ZWrrqnq7uU6e+99xzxTmHYRiGES6a+d0AwzAMI3vMeRuGYYQQc96GYRghxJy3YRhGCDHnbRiGEULMeRuGYYQQc95GSkSkTkT6+t0OwzAaYs47YIjIEhEZXeJzdheRz5JsznsggIhMEpFzU2zvLyL/EpEvRGStiLwsIhVx+1wmIqtFZIOI3C8iLWO2XSQiH4jINyLyYILjf09E5olIlYjMEZEJKdrSUkT+Gb0OdSIyMm57RETeirZjcYb2/yZq15ci8uu4bdeLyGwR2SYi12RwrFSfQ2cReVZENkbbf3qaY40RkfnR/d8Ukd0ybXeCY+0e/Vw2RT/rMXHbzxCRpSJSIyLPiEindLYaqTHnbQCMA15Osk1KcP5OwHNABdAN+CC6rA0QGQv8HDgC2B3oB1wX8/6VwA3AA/EHFpEewKPApc65jtHjPC4iO6doz9vAmcDqBNs2Rc/zv5kYJiLnA+OBfYHBwPEi8qOYXRYBVwD/zuBY6T6He4BvgK7AWcC9IjIoybG6AE8DVwM7AdOBf2TR7nj+Hj3GTsAvgaei50BE9gb+hH6m3YDNwL3p7DXS4JyzV0BewCNALeogqlEHsTtQB0wElgPrgPOBYcCHwFfAXTHH+AHwDnAXsAGYB4xOc96ngROSbKsD+kb/HwfMAKqAZcC1Mfu1Rp3kWmA98D7qRG4EtgNfR226M4PPoXP0vJ2jy48BN8ZsPwJYneB9NwAPxq0bDnwet+4L4KAM2vEZMDLJtjHA4gyO8V/ghzHL5wDvJtjvUeCaNMdK+jkAbYEtQL+Y7X8Fbk5yrP8B3olZbhu9RhXZtDu6rT/qkHeMWTcZ+FH0/5uAv8Vs6xtt646p7LVX6pdF3gHCOXc26qCPc851cM79LmbzcGBP4FTgDuAqYDSwD/A9ETk8Zt+D0IiuC/ArIOljqoi0AEYCr2fQxI3A951GsMcCF4jI+Oi2HwAdgJ5o9HUBsNk590s0kr04atMlGZxnFOqU1keX90ZvVB4fAruISOcMjjUNmC8ix4lIMxE5AY1OZ2fw3kKQqO17F/BY3udQAWxzzn2a7Fwisl5EDkl0LOfc18AnMfunbLeIvCAiP4/Zd7FzblOS/ePPtRh13g2kMSM7zHkHk3ipwgHXO+e2OufeQCPzvzvn1jnnVqHOcb+Y/dc45+50ztU6554EFqDONhEjgVlxP7yEOOf+45ybG/1/DvAE6mgBtqE3iwqnzHTObczM3HpEpBdwN3BZzOp2aLTvUY1+Ru0zaHMdGtX+HXUYfwPOd85tzrZtOZKo7e0KeCzvc2gXXSZu+7efkXOus3Pu3STHit8/Zbudc8c7536b47Eatc3IHnPe4eGLmP83A2vilmMdwsq49y4DeiQ57jjgpUwaICIHRTulvhCRDah842nHjwKvAk+IyIpoZ1fzTI4bc/yu0WPcHb3peGxEo3qPjugNrSaDYx4J/BaVP1oCEeABERksIr2jHWg1IhLv+LJGRK70jiUi96Roe9Y3tRTH8j6H+G3e9mSfUbr9s2l3tsdK1zYjA8x5B49ClHnsGbe8G7Aqyb4ZO29Uc/0X0NM51wn4M9GnBOfcdufcDc65vYFDgOOAs6PvS2tTVNZ5FfiXcy4+s2EuMCRmeSj6dLGe9AwBJjvnZkbbOQ3V4490zn3mnGsffcU7l6xxzt3iHcs59+MUbZ+b4ylSfQ4LgRYi0i9m+5AU55obfT8AIrIj2gE6J4d2zwX6Ro+R6NwNjhVtY8tom40cMecdPD5HO3RiyTbjYxcR+YmItBCRU4CBJHDQItIHaOWcW5DhcdsB651z20RkOHBGzLEiIrKPiDRDI61taOcr6FNC0lxxEWkPvIZ2oF2dYJdHgPNEZFBU3/0l8FDM+5uLyA5Ac9SBtY6J+j8ADhORIdF99wMOI4XmLSKtoscDaC0irWO2SXS5FdAseq6WCQ9U3/bLRaSHiPQELo9re4vouZoBLaPHS/a7TPo5RDXrZ4DrRaStiBwGHI8+ESXiWWBvETkxas+1qHy2KJN2xxJ9zyzg2mj7v4v2xTwd3eUxNFvl0KiDvx54OhOpzkiB3z2m9mr4QtOzlqFZJJej2Sa1QLOYfZYTkwWB/tCuiv7/A1QDvxPNNvkYGJPkXBeRJvsjem4v2+S7wFJUv3w+eo5HottOi56rBk2xu91rMzAC1d3XAXckOMfZ0fPUxLyqgV4x+1yK3tg2APcDLWO2XYtmp9TGvK6J2f5jtAO3Cu2UuzSNzUvijlUL7BbdNirBud5Kc7xfR21fC9wSt+2hBMc7O8WxUn0OnVGnvDF6nU6Ne28NcGjM8mhgPtqH8pZnY4btfgn4v5jl3YBJaMbKfOCIuP1PQ7/XNehNppPfv7WwvyT6weaFiFwGnBf9En4EnOOc25r3gY2sEZEfAOc550ZmsO+LaJrhK8VvmWEYhSRv2SQ6COInwP7OucFAC/QuawSfSdGXYRgho0WBjtMc2FFE6tBk/2SdY0aAcA3zyA3DCBGFkk0uQUdRfQ285pz7ft4HNQzDMJJSCNmkEzAB7VjrAbQTkTNSv8swDMPIh0LIJkeiQ2O/AhCRZ9A838djdxIRm6beMAwjB5xzjdKFC5HnvRwYISI7iIigBXvmJ2lAg9e1117re7pNvi+zITivcrDDbAjGK0g2JCNv5+2cmwo8BcxEi88IcF8m7126dGm+p/cdsyE4lIMdZkMwCIMNBck2cc5dR8O6woZhGEYR8XV4/MSJE/08fUEwG4JDOdhhNgSDMNhQkFTBjE4k4kp1LsMwjHJBRHBF6rDMmcrKSj9PXxDMhuBQDnaYDcEgDDZYVUHDMIwQYrKJYRhGgAmkbGIYhmHkhmneeWI2BIdysMNsCAZhsMEib8MwjBBimrdhGEaAMc3bMAyjjDDNO0/MhuBQDnaYDcEgDDZY5G0YhhFCTPM2jBDy4ouwyy5w4IF+t8QoNqZ5G0YZ8cwz8MYbfrfC8BPTvPPEbAgO5WBHpjbU1MD69cVtS640pevgJxZ5G0YICbLzNkqDad6GEUIOOwx23RWeesrvlhjFJpnmXZCZdAzDKC3V1dC6td+tMPzENO88MRuCQznYYZp3MAiDDRZ5G0YIqanxuwWG35jmbRghpHVraNMGNmzwuyVGsbE8b8MoE7Zuhdpajb5ra/1ujeEXpnnnidkQHMrBjkxsqKmBDh2gfXuoqip+m7KlqVwHv7HI2zBChue8O3cObqelUXxM8zaMkDF7Npx5JrRsCX/5CxxwgN8tMoqJ5XkbRplQU6OSSZs2Fnk3ZUzzzhOzITiUgx2Zat7t2wdXNmkq18FvTPM2jJARdOdtlAbTvA0jZDz4ILz9NnTtCl26wC9+4XeLjGJied6GUSZ4kXfHjsFMFTRKg2neeWI2BIdysCMbzTuozrupXAe/scjbMEJGdbXmeXfsqP/fcgvcdpvfrTJKjWnehhEyLrwQ9t0XevaEBx5Q7fv112HJEmje3O/WGYXGNG/DKBPiZZOqKli5El5+2e+WGaXENO88MRuCQznYkY3m3aGDOu4NG+Dgg+H994vfvkxoKtfBb2yEpWGEjNjIu7oaWrSAvn1h82a/W2aUkoJo3iLSEbgf2AeoA851zr0ft49p3oZRAA48EP74R3XYAwboYJ1jj4Xt23W9UV4Uu7bJH4CXnHOniEgLoG2BjmsYRhzV1Q1lExGdjPiTT/xumVFK8ta8RaQDcLhz7iEA59x251x1Ju8Ng66UDrMhOJSDHdnU827VSisLrlsH3bsHRzZpKtfBbwrRYbkHsFZEHhKRGSJyn4i0KcBxDcNIgKd5g+rebduqMw+K8zZKQ96at4gcALwHHOycmyYidwBVzrlr4/Yzzdsw8qSuTqPtbdugWTOoqIBNm+D+++EPf4BXXvG7hUahKabmvQL4zDk3Lbr8FJCwVM7EiRPp06cPAJ06dWLo0KFEIhGg/jHFlm3ZlpMvH3BAhDZt4D//0eWOHSO0bAkLFlSyejVAsNpry9kvV1ZW8vDDDwN86y8T4pzL+wVMBiqi/18L/CbBPi6eSZMmNVoXNsyG4FAOdqSzYeVK53bdtX55zBjnDj7Yuffec+7AA4vbtkxpCtehlER9ZyO/W6hsk0uAx0SkJbAYOKdAxzUMI4ZYvRvqOy7btDHNu6lhtU0MI0R88AFccAFMn67L55wDW7bAddfBMcdYumA5YnNYGkYZkCjy3rbNIu+miNU2yROzITiUgx3pbPByvD26dNFXkJx3U7gOQcAib8MIEfGR96WXgnNa3yQoztsoDaZ5G0aIuPde+PBD+NOfGq6vq1MHXlurw+WN8sHqeRtGGRAfeXs0a6aDd7ZsKX2bDH8wzTtPzIbgUA52ZKJ5J3LeEBzduylchyBgkbdhhAivomAiguK8jdJgmrdhhIjzztNZc374w8bb+vbVuSz79St9u4ziYZq3YZQBW7ZA69aJt1nk3bQwzTtPzIbgUA52pLNh+3btmExEUJx3U7gOQcAib8MIEdu3a0pgIoLivI3SYJq3YYSICRO0nskJJzTedvTR8LOfwdixpW+XUTxM8zaMMiBV5L3DDhZ5NyVM884TsyE4lIMd+Wre33xT+DZlS1O4DkHAIm/DCBGmeRsepnkbRogYORJuuAFGjWq87cILYd994cc/Ln27jOJhmrdhlAEWeRsepnnnidkQHMrBDsvzDgZhsMEib8MIEemyTYLQYWmUBtO8DSNE7LsvPPYYDB7ceNuvfw3r18NvflP6dhnFwzRvwygDUkXerVrB1q2lbY/hH6Z554nZEBzKwY58NO9WrXQyYr9pCtchCFjkbRghIlXk3bKlRd5NCdO8DSNE9OoFU6ZA796Ntz30EEyeDA8/XPJmGUXENG/DKAPSad5BkE2M0mCad56YDcGhHOzIR/MOimzSFK5DELDI2zBChGWbGB6meRtGiNhxR1izBtq1a7ztpZfg7rv1r1E+mOZtGGWAZZsYHqZ554nZEBzKwQ7L8w4GYbDBIm/DCAl1dfpqluRXa5p308I0b8MICVu3quadLLqeNg3OPx+mTy9tu4ziYpq3YYScVHo3BEc2MUqDad55YjYEh3KwI5UNqfRuCI5sUu7XIShY5G0YISFd5G3ZJk2LgmneItIMmAascM6NT7DdNG/DyIM1a7Se9xdfJN7+2WdwyCH61ygfSqF5/xSYV8DjGYYRQyaat0XeTYeCOG8R6QWMA+7P5n1h0JXSYTYEh3KwIx/NOyiySblfh6BQqMj7duAKwHQRwygSlm1ixJK35i0ixwLHOOcuFpEI8DPn3PEJ9jPN2zDy4OOPYcIEWLAg8fatW7XmSRCib6NwJNO8U9zHM+ZQYLyIjAPaAO1F5BHn3NnxO06cOJE+ffoA0KlTJ4YOHUokEgHqH1Ns2ZZtOfHykiXQokXy7c7Btm0RnIPJk/1vry3ntlxZWcnD0Rk1PH+ZEOdcwV7AKOD5JNtcPJMmTWq0LmyYDcGhHOxIZcPMmc4NGZL6/S1aOLd1a2HblC3lfh1KTdR3NvKpludtGCEhneYNwem0NIqP1TYxjJAwZQpcdhm8917yfTp1giVLoHPn0rXLKC5W28QwQk4mkXcryzhpMlhtkzwxG4JDOdiRyoZ0ed4QDNmk3K9DULDI2zBCQqaRt9/O2ygNpnkbRkh46SW46y54+eXk+wwYAM8/r3+N8sA0b8MIOZZtYsRimneemA3BoRzsyFfzDoJsUu7XIShY5G0YIcGyTYxYTPM2jJDw2GPw4ovw+OPJ9zn8cLjpJhg5snTtMoqLad6GEXIs28SIxTTvPDEbgkM52FEIzdtv2aTcr0NQsMjbMEKCZZsYsZjmbRgh4e67Yf58+OMfk+9z8slw6qlwyimla5dRXEzzNoyQY9kmRiymeeeJ2RAcysEOq20SDMJgg0XehhESLNvEiMU0b8MICTfcAFu2wI03Jt/nootgr730r1EemOZtGCHHsk2MWEzzzhOzITiUgx1W2yQYhMEGi7wNIyRYtokRi2neRiBYsQIWL7aaHKm4/HLo2RN+9rPk+1x3HdTWwvXXl65dRnExzdsINC+/DLfe6ncrgo1lmxixmOadJ2ZDYVi7Flatyu8YQbAjX/LVvNu3hw0bCtumbCn36xAULPI2AsG6dfk773Ink8h7wABYuLA07TH8xTRvIxBMnAiPPKKP/OkcVFPlnHO0Xve55ybf57PPYPhwWL26dO0yiotp3kagWbcOnIM1a/xuSXDZti39ja1nT6ip8V86MYqPad55YjYUhrVrQSQ/6SQIduRLKhs2blRNOxXNmql0smBBYduVDeV+HYKCRd5GIFi3Dvbc0x73U1FVBR07pt9v0CD4+OPit8fwF9O8jUDQpQtEInDUUXDBBX63Jpjstx/cfz8ccEDq/W64ATZvhptvLk27jOJimrcRWGprNarce2/LOElFppF3ly6meeeLc/oKMqZ554nZkD/r16tT6t3bNO9UNmTqvNu2ha+/LlybsqUcrsO551Zyxx1+tyI1FnkbvrN2rUaLu+2mQ+SNxjgH1dXhcN7lwLJlsHKl361Ija/OOxKJ+Hn6gmA25M+6dbDzzjB0KMycmfvjqt92FIJkNnz9tY6ubNUq/TH8dt7lcB02b44EXnqyyNvwHS/y7tYNdtwRli71u0XBI1PJBPQz3LSpuO0pd5YtUzkvyJjmnSdmQ/6sWgW77qr/778/zJiR23H8tqMQJLMhG+ftd+Qd9uvwzTewenWlRd6GkY5583TqLsjPeZczGzaEx3mHnc8+07/mvFNQDtqY2ZA/c+dqmiBoDvMHH+R2HL/tKATJbAhT5B1vw8aNmg4aFpYtg969m4DmLSK9ROQtEZkrIh+JyCWFaJgRXu65B95+O/P9Y533QQfB1KlQV1ectoWB//f/4KOPGq6rqoJOnTJ7v9/OO55LL4UrrvC7FZmzbBkMGdI0Iu/twOXOub2Bg4GLRGRgJm8MuzYGZkMiXn8dfvvbzPZdu1ZnRO/RQ5d32UU7L3MZ3l0u1+Khh2D8eHXYHmGKvOOvw5w5cN99mlUUBpYtg44dK6mqCvZAnbydt3Puc+fcrOj/G4H5QM98j2uEl40b4aWXMsuT9aJuiRn8e/DB8N57xWtfkHFOnVznzg21/2yd96ZNwXA8zmmRrJEj4bHH/G5NZixapAPG2rTR73JQKajmLSJ9gKHA+5nsX84aZZgotA0bN0KfPjq1WTpmzYJ99224bsQImDIl+/OWw7UYPjyCCPTtq08lHtk475YttbqgXxMRx16HL7/UG/PJJ6scFgbmz4eTTorQqVOwpZOCOW8RaQc8Bfw0GoEbTZSaGnXIK1ak3/fVV2HMmIbrDjyw6WaceDnvXbs2dN7ZZJtA6aSTc89N/ZS0cKGWqD3wQJg2rfjtyRWvlkltrbZ54EDtYwhyrndB5iwRkRao437UOfdcsv0mTpxInz59AOgU7X259NJLgXqdzLtrh2XZWxeU9uSyHG9LvsfbuBHatq2MZo0k33/LFnjnnQiPP95w+6BBMG9eJW+9BaNHZ37+WbNmhf77tHAh7LxzhI0b9fO78ELdvmBBJe3aQarPM3a5efNK3ngDTj65eO11Dp55JsLs2fCb31Ty2muw774RunevpHlzAPj00wgDBsAXX1SydClUV0fo0CE4n7e3fNRRlYwYAeecE6FrV7j//juAoWzYUPr2VFZW8vDDDwN86y8T4pzL+wU8Avw+zT4unkmTJjVaFzbMhsbstJNzDz7o3DHHpN7v5ZedO+ywxNt69nRuyZLszlsO1+K3v53kjjzSuTvucO6SS+rXjxrl3CuvZH6cfv2cW7So4M1rwLp1znXo4NyQIc5NmuTcHns417u3c1ddNenbfa64wrmbbtL/Dz5Y9wsiu+/u3AknOPfCC86NHavfpeOOc+655/xumXNR39nIpxYiVfBQ4ExgtIjMFJEZIvKdTN7r3XXCjNnQmI0b9bEzXYflBx/AYYcl3rbXXqo9ZkM5XIuePSPsvLPWevnyS123datKDiNGZH4cr9OymHz6KfTrB6NGwVtv6RR2V14Jy5dHvt1n+nRNuwMYNiyYuve6dfpZv/WWynWDBul3qew1b+fcf51zzZ1zQ51z+znn9nfOvVKIxhnhY+tWzdHu2ze98165Unv1E6HSSeHbF3Q8zXvnnes172nToKIiO817xx2Lr3kvXqzOe9gw+OtfNWto7Fh44w3VjzdvVmd9+OG6/8iRMHlycduUCzNnqg1DhmiK66GH6vrOnYOteVttkzwxGxqycSO0a6cdbtXVWiciGStX6oS5iRg0CN59N7u5GMvhWkyfXvlt5O0578mTNbrNhlw7LDdvhp/8JLNMlU8/1Zv0sGGwfLk6v759QaSSOXP0+u27L3TooPtHIvDOO/5lwSRjxgwty/DnP8P772tmTGVlJd26weef+9265FhtE6OgeJPkNmsG3bunnlxh1arkznu//eDZZ+FHPypOO4NKVRWNnPe77yaXl5KRq/P++GO4+2548MH0+3qySUWF3rAHD9b1++8PkybBm282zCTaeWdNIZ0+Pft2FZOZM/X7NmhQ/Uhf0Pryy5f71650WG2TPDEbGlJTQzQrQh1zKue9cmX9yMp4DjpIf1TZRD7lcC1at440kk0WL1YHmQ25Om8vte+GG9Lvu3ixRtrNm8O4cfVywymnRHj3Xc3zP/rohu+JROA//8m+XcVk0SK1OZZIJMJuu9UXqQoiFnkbBcWTTUCddzLde9s2+OorreGdjN13D/ZjazHwJqbYcUdd3rRJo7/ddsvuOLl2WC5aBCeeqJ/71q2p912+XK8RwD/+oRE3wCGHwCuvaJ7/IYc0fE+fPsGbp9S7CcXTu7dF3kkpB43SbGhITY3KJqAOJ9nECqtXax0TLx84ER07at2TTCPIcrgWS5eq5g3qxBctUgkqm85KyC/yrqjQASqxtVUS8dVX2rkaz4oVlbRsqdF4/PXdaSd9X1BYvx62b+fbz9yjsrKSnj31exrUiogWeRsFJTbyrqhQ55OIVJ2VHiI6ScOaNYVtY5DxNG/Qv9OmZR91Q+7ZJgsXQv/+erNI5bxra/VGneimIgITJsBppzXeFjTn7UXdsbV1PFq31ptTUJ/+TPPOE7OhIV6HJagTWLgw8X6rViXXu2PZddfMfzxhvxbOQU1N5Ntodq+94IUX6qWJbMg08l63Ds4/vz4lbtGi+sg7VY5zVZXepBM9OUUiEe6/H445pvG2IDrvfv0ar/e+S0GWTizyNgpKbIdlqsj7s8/SR96QnfMOO19/rRJJ27a6PHKkVmfMJfLO1HkvXAgPPaSOdtUqzdHv2jW9816/XvOgsyVozttLd0xGkDstTfPOk6ZswyGHwIcfNlwXG3n36KG53tXVmj+8eXP9fq+/3rgzKxHZOO+wX4u1a6Fdu8pvl0eOVD02V+ddU5N+v+pqzSFfuRKuuw6OO04lhHSyyfr16ogTkeo6BM15J4u8PRt699b63kHEIm8jJ5yD2bPhmWcaro+NvJs1gz33hE8+gRtvhJtu0vVVVTrTznHHpT9PU4q8165tqCEPGKCdurk47/3318E96Wp6ezP0nHaaTphw+um6vliRtzdqMQi1xkFLMKRKwxwwILeJQUqBad550lRtWL9eU9Gef77h+tjIG/SHsWCBdrx5+veLL2pU6Y28S0VT0rzXrYM+fSLfLovANddk9oQSz8EHq2wye3bq/aqr9YZx5pkaZR55pK5Pl22Synmnug6tWsEOO2T2VFBstm2rHxofj2fD4MHpP0O/KEhJWKPp8dlnOiJtxQr936tREpttAjpy7f339Ufidby9+WbizqxEBH2IciFZu7ZxytpFF+V2LBGNpq+8Ukdn9usHp57aeL+qKr2JDh2q+m/Llrq+Y8fUkfdXX+UWeUO9dJLJzbuYfPgh7LFH6nbss4/W2Nm+HVoEzFua5p0nTdWG5cv1iz90aMPHyljZBOCoo3QAR3U1LFmi66ZOzbxC3h57ZP7YGvZrsXYtfPNNZcGOd8UVGoHPnQu/+13ifbzIG+odN+Qnm6S7DjvtpB3ZV1wBf/ubrps0CR59VP/fvFm16GIzZYp+PonwbGjfXss8fPJJ8duTLaZ5GznhRdvxssaaNQ2jx/3314E2hx6qP8pVq/SH6dXBSMfgwRodzpmT3Yz0YSRe886XLl10Jvq779YbYCKd2Yu848lENknWYZmOnXZSxz15st5U6urgkkvg5pt1+333wQ9/mNuxs2HKlMyCiMGDtXhVUHR6D9O886Sp2uAN2Y533vPnq5zi0by5FicaOlSHRj/1lFafi43yUtGsmUosxx8PEyem3jfs12LdOhg2LFLw43burIN2Eg1Lj428Y0knm+SqeYM67w8/hN//XrNcbr1VtfCqKo3In39eb9bFZto0GD488bZYGw4/HL7/fb0RBgmLvI2cWL68ceTtdWL26tVw35tvhp/+VCWQ++7LblIBUMe9bp2eJ2jRTyFJpHkXioEDE8tPuUbe+WreHTvq92DcOLj6arjnHs0+uv9+naRjy5b6ySiKQXW13jgGDky/72WXadARtI5L07zzpKna8Omn2gEZ67znz9cfQ/xQ4/79NUofNEgjwJ//PLtznXBC/cQMG1NMbR32a7F2LaxcWVmUYydz3ski72Jr3qNHawfgxRdrHe2DDtKRnk88odv23Ve1+mIxc6bKIck6IeNt6NcveLp3wPpPjaDz9deqXX/8sT5ybttW77znzdMh3cm46Sb9sTTLMmRo1kyjee9GEZuKWE6sW1e8DIxsI+9MZJNcNe/vfa9+QoYDD9QXwAEHaFCwfbt0EtHfAAAgAElEQVRq4HPnagnZYjBjhp4vU/r21Q73urrsv7/FwlfnHXaNEpqeDfvvrwXrx4zRfN34yDtW746nVav82tm9u56rf//E28N+Lb74AsaNixTl2P37a5nWeKqrs5dNFi5U2SxRRUFIfx322y/5thYt9LX33sWNvGfMgCOOSL493oZ27fQzWbWqsSzoFwG5hxhhoK5OM0WeeQbGj9d1sc575syGM5EUmnIebVlXpxpv167FOX6y6oxVVck7LJs3bzw03DkdTn/NNbkVzMqUww/XwVzpaornwuef640s23t90KQT07zzpCnZ8MUXqnM++iicdJKu69xZdehFizSDIHbaq0KTznmH+Vp89ZXKQe++W1mU43frlth5J4u8mzWD734Xnnyy4foVK/TvT3+a/FyFuA7776+jc7088EJy5ZVw7rmpC1IlsmHPPVUarK4ufJtywSJvI2NWrNBHxrPOqtedmzXT+hvXX691Mdq0Kd75yznyXrMm9axC+bLLLhrZ19XVr9u2TbM6vFl74jn9dPj73xuumzVL0z5Lwa9+pel58+apJFcoXnsNLrww+/f176+TM/fuDXfeWbj25IrleedJU7LBc97x7L67jppMFY0VgnTOO8zX4osv1HkXy4ZWrfSGG1vRz5v1KNFEBKD1Z5Yt09lkPDJx3oWy4dBD1VkOGaJD/P/4x/yPuWmTfgbpin0lsuHii7VDdfJkuO02/9NWLfIuA+66Swc6FJtkzvvVVzWTIVlHYqEo98h7l12Ke45u3bQUrydtJdO7PZo311zs996rX1fKyBvgF7/QLJy339bKlPny6ac63iCXjJGOHXWg2ZAh+v5SDCRKhWneeRIEG5YsafgDy5ZMbKitTe68d9wxefRWSLp3T11bOQjXIlc82aSYNnTrpp2AkydrymcyvTuWESN0GDlopDlzpjqvVBTSBhFt48CB2t58qxF+8klmQUYq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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa81dfcac>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  Here the y-scale uses MAD:\n",
    "plotmonth(baamad)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Although the crisis during the Great Recession was ignited\n",
    "by the blowout in *credit default swaps on mortgages*,\n",
    "it is instructive to *visually see* that corporate credit spreads\n",
    "suffered to the same extent when the measuring stick is historical MAD.\n",
    "\n",
    "(The best data source for traded credit default swaps is unfortunately\n",
    "not freely accessible, thus was ineligible for the fecon235 project.) \n",
    "\n",
    "Without profiling, that similarity would not be apparent,\n",
    "since the peak of the mortgage credit spread was \"only\" about 270 basis points,\n",
    "whereas the peak of the Baa corporate credit spread was about 600 basis points."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Combining profiles for generality\n",
    "\n",
    "The peaks in the mortgage and corporate credit profiles appear\n",
    "vaguely similar on a long time scale, but at a local\n",
    "time scale they can be vastly different. This is because\n",
    "credit risk will vary in the *housing market* (according\n",
    "to the home buyer's ability to make mortgage payments),\n",
    "versus the *business environment* (where corporate profits\n",
    "are required to satisfy debt obligations).\n",
    "\n",
    "Each market also has its idiosyncratic issues regarding the\n",
    "*supply* of the underlying debt obligations.\n",
    "Such differences can be smoothed over by proper aggregation. \n",
    "\n",
    "*Which credit spread does a policy maker pay attention to?*\n",
    "The statistical profiling puts credit spreads on comparable\n",
    "terms. ***Thus we can aggregate profiles for generality to\n",
    "observe credit default risks in the economy.***\n",
    "(Think of the home buyer who depends on a corporate\n",
    "entity for his job and personal income -- so the profiles\n",
    "should be considered as integrable).\n",
    "\n",
    "Other types of credit profiles could be appended here,\n",
    "but for exposition purposes, we will simply average the\n",
    "mortgage and corporate credit profiles."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  Take the mean of all profiles:\n",
    "madness = fe.todf((mortmad + baamad) / 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa81a50ac>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  Here the y-scale uses averaged MAD:\n",
    "plotmonth(madness)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                   Y\n",
       "T                   \n",
       "2018-11-21  0.280590\n",
       "2018-11-22  0.284908\n",
       "2018-11-23  0.324748\n",
       "2018-11-26  0.258021\n",
       "2018-11-27  0.326707\n",
       "2018-11-28  0.350256\n",
       "2018-11-29  0.470755"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  Most RECENT values of UNIFIED CREDIT PROFILE, daily madness:\n",
    "fe.tail(madness)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Closing remarks\n",
    "\n",
    "Elevated levels in credit profiles generally indicate\n",
    "greater default risk, usually due to a weak economy,\n",
    "and thus can provide additional signals for the\n",
    "policy maker to decrease interest rates.\n",
    "For example, \n",
    "\n",
    "- Levels approaching +1\\*MAD can be considered as early warnings.\n",
    "- Levels greater than +2\\*MAD should be considered excessive.\n",
    "\n",
    "Note how history is robustly encapulated in the Median Absolute Deviations,\n",
    "without reference to basis point spreads which can wildly vary among debt markets."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### SUMMARY\n",
    "\n",
    "(Please see top of this notebook.)\n",
    "\n",
    "---\n",
    "\n",
    "### APPENDIX 1: Unified credit profile, creditprof()\n",
    "\n",
    "Jupyter notebooks are excellent for purposes of experimentation and\n",
    "exposition, however, they are unsuitable for *direct* computation at\n",
    "the commandline or within a program. We converted this notebook into a\n",
    "script, using:\n",
    "\n",
    "    $ jupyter nbconvert --to script fred-credit-spreads.ipynb\n",
    "\n",
    "and then edited the resulting py file, to obtain a function\n",
    "which outputs the Unified Credit Profile as a daily time-series\n",
    "in pandas DataFrame format."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[0;31mSignature:\u001b[0m \u001b[0mfe\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreditprof\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mSource:\u001b[0m   \n",
       "\u001b[0;32mdef\u001b[0m \u001b[0mcreditprof\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;34m'''Credit profile derived from mortgage and corporate credit spreads.'''\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Derivation in fecon235/nb/fred-credit-spreads.ipynb\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  See https://git.io/creditprof\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  First, note the oldest start date common among all series herein:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mstart\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'1991-08-30'\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  ----- MORTGAGE CREDIT SPREAD\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Freddie Mac 15-Year Fixed Rate Mortgage v. Treasury 10-year bond.\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Freddie Mac series is updated weekly on Thursdays,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  so we apply daily interpolation to be\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  frequency compatible with the other series in this function:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mfmac\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdaily\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'MORTGAGE15US'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Retrieve daily rates for 10-year Treasuries...\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mty\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0md4bond10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  ... then compute the mortgage spread:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mmort\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtodf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfmac\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mty\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Profile the mortgage credit spread:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mmortmad\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmadmen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmort\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  ----- CORPORATE BOND SPREAD\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Examine daily BAA10Y spread between Moody's Seasoned Baa-rated\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Corporate Bonds and 10-year Treasury Constant Maturity:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mbaa\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'BAA10Y'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  Profile the corporate credit spread:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0mbaamad\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmadmen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbaa\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  ----- UNIFIED PROFILE for generality,\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;31m#  take the mean of all profiles:\u001b[0m\u001b[0;34m\u001b[0m\n",
       "\u001b[0;34m\u001b[0m    \u001b[0;32mreturn\u001b[0m \u001b[0mtodf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmortmad\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mbaamad\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mFile:\u001b[0m      /media/yaya/virt18g/virt/dbx/Dropbox/ipy/fecon236/fecon236/rates/credit.py\n",
       "\u001b[0;31mType:\u001b[0m      function\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fe.creditprof??"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "dfappendix = fe.creditprof()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  Access pandas, and test for equality, up to 4 decimal places:\n",
    "fe.pd.testing.assert_frame_equal(madness, dfappendix, check_less_precise=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In case of code revisions, it is always a good idea to check for\n",
    "consistency between the notebook and its summary function.\n",
    "If no errors were returned in the previous cell: TEST PASSED."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "### Questions or bugs?\n",
    "\n",
    "- Chat with fellow users at Gitter: https://gitter.im/rsvp/fecon235\n",
    "\n",
    "- Chat with fellow developers at Gitter: https://gitter.im/MathSci/fecon236\n",
    "\n",
    "\n",
    "- Report issues regarding our Jupyter notebooks at https://github.com/rsvp/fecon235/issues\n",
    "\n",
    "- Report issues regarding our Python code at https://github.com/MathSci/fecon236/issues\n",
    "\n",
    "- Please see https://git.io/econ for orientation and installation details."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
